Prerequisites
Before you begin writing an Adaptable Driver, there are a few important things to consider.
Adaptable Drivers support Certificate Manager Self-Hosted only. To build an integration for Certificate Manager SaaS, see the connector framework documentation for Machine Connectors and CA Connectors.
Environment Dependencies
Since the Adaptable Framework is based on PowerShell, you'll need a Windows machine with the following:
- Windows PowerShell 5.1
PowerShell 7 is not yet supported by Certificate Manager Self-Hosted
- .NET 4.7.2 or later
If your product does not support TLS 1.3, you will need to add the following code to your Adaptable script in order for it to work with Certificate Manager Self-Hosted.
[Net.ServicePointManager]::SecurityProtocol = [Net.SecurityProtocolType]::Tls -bor [Net.SecurityProtocolType]::Tls11 -bor [Net.SecurityProtocolType]::Tls12
Other Considerations
In most cases, any information required by both Certificate Manager Self-Hosted and the target integrated solution can be passed to and from Certificate Manager Self-Hosted through the Adaptable Driver script and the existing functions contained therein. That said, there are certain scenarios which require interacting directly with the API.
Calling Certificate Manager Self-Hosted APIs from Adaptable Drivers
If your Adaptable Driver requires access to the Certificate Manager Self-Hosted API, you'll need to do the following:
- Create an API Application Integration that's specific to your script. This is a required step in which you register your application with Certificate Manager Self-Hosted. For more information, see Integrating other systems with CyberArk products.
When creating your API Application Integration for use with OAuth, consider the following best practice settings. Under Access Limits in the Create Application Integration panel, select these options:
-
Set Grant and token expiration to
Configure -
Set Grant Expiration Period to
1 day -
Set Token Refresh to
Disabled
- If you don't already have one, create a Username credential that has been associated with a service account that has permissions to the API application. See Creating user name or password credentials.
Unique use cases like this one should be rare, but occasionally do present themselves and require additional consideration.